#include "stdafx.h"
/*
#ifndef _PhysicsEngine_h_
#define _PhysicsEngine_h_

// Math and base include
//#include <Common/Base/hkBase.h>
#include <Common/Base/System/hkBaseSystem.h>
#include <Common/Base/System/Error/hkDefaultError.h>
#include <Common/Base/Memory/System/Util/hkMemoryInitUtil.h>
#include <Common/Base/Monitor/hkMonitorStream.h>
#include <Common/Base/Memory/System/hkMemorySystem.h>
#include <Common/Base/Memory/Allocator/Malloc/hkMallocAllocator.h>

// Dynamics includes
#include <Physics/Collide/hkpCollide.h>										
#include <Physics/Collide/Agent/ConvexAgent/SphereBox/hkpSphereBoxAgent.h>	
#include <Physics/Collide/Shape/Convex/Box/hkpBoxShape.h>					
#include <Physics/Collide/Shape/Convex/Sphere/hkpSphereShape.h>				
#include <Physics/Collide/Dispatch/hkpAgentRegisterUtil.h>					

#include <Physics/Collide/Query/CastUtil/hkpWorldRayCastInput.h>			
#include <Physics/Collide/Query/CastUtil/hkpWorldRayCastOutput.h>			

#include <Physics/Dynamics/World/hkpWorld.h>								
#include <Physics/Dynamics/Entity/hkpRigidBody.h>							
#include <Physics/Utilities/Dynamics/Inertia/hkpInertiaTensorComputer.h>	

#include <Common/Base/Thread/Job/ThreadPool/Cpu/hkCpuJobThreadPool.h>
#include <Common/Base/Thread/Job/ThreadPool/Spu/hkSpuJobThreadPool.h>
#include <Common/Base/Thread/JobQueue/hkJobQueue.h>

// Visual Debugger includes
#include <Common/Visualize/hkVisualDebugger.h>
#include <Physics/Utilities/VisualDebugger/hkpPhysicsContext.h>		

#if !defined HK_FEATURE_PRODUCT_PHYSICS
	#error Physics is needed to build this demo. It is included in the common package for reference only.
#endif

// This excludes libraries that are not going to be linked from 
// the project configuration, even if the keycodes are present

#undef HK_FEATURE_PRODUCT_AI
#undef HK_FEATURE_PRODUCT_ANIMATION
#undef HK_FEATURE_PRODUCT_CLOTH
#undef HK_FEATURE_PRODUCT_DESTRUCTION
#undef HK_FEATURE_PRODUCT_BEHAVIOR
#define HK_FEATURE_REFLECTION_PHYSICS
#define HK_CLASSES_FILE <Common/Serialize/Classlist/hkClasses.h>
#define HK_EXCLUDE_FEATURE_MemoryTracker
#define HK_EXCLUDE_FEATURE_SerializeDeprecatedPre700
#define HK_EXCLUDE_FEATURE_RegisterVersionPatches 
#define HK_EXCLUDE_LIBRARY_hkGeometryUtilities

#include <stdio.h>

#ifdef HK_PLATFORM_CTR
	#define PRINTF nndbgDetailPrintf
#elif defined(HK_PLATFORM_ANDROID)
	#include <android/log.h>
	#define PRINTF(...) __android_log_print(ANDROID_LOG_INFO, "Havok", __VA_ARGS__)
#else
	#define PRINTF printf
#endif

#if defined( HK_ATOM )
	typedef struct {unsigned long field[4];} ADP_APPLICATIONID;
	extern "C" ADP_APPLICATIONID ADP_DEBUG_APPLICATIONID;
	extern "C" int __cdecl ADP_Initialize( void );
	extern "C" int __cdecl ADP_IsAuthorized( ADP_APPLICATIONID );

	ADP_APPLICATIONID applicationID = ADP_DEBUG_APPLICATIONID;

	#include <stdio.h>
	#include <stdlib.h>
#endif
*/

/**
 * @brief: Our representation of the physics engine. Contains all implementation-specific settings for the physics engine.
 */
/*
class PhysicsEngine {
public:
	static PhysicsEngine* getInstance();
	hkJobQueue* getJobQueue();
	hkJobThreadPool* getThreadPool();
	void setupVisualDebugger(hkpWorld* world);
	void stepVisualDebugger();

private:
	PhysicsEngine();
	~PhysicsEngine();
	
	void initialize();
	void platformInit();
	void platformQuit();
	void shutdown();
	
	static PhysicsEngine* instance;
	hkJobQueue* m_jobQueue;
	hkJobThreadPool* m_threadPool;
	hkpPhysicsContext* m_context;
	hkVisualDebugger* m_vdb;
	hkArray<hkProcessContext*>	m_contexts;
};

#endif //_PhysicsEngine_h_
*/